热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

所在位置|所有者_Linux常用命令手册

篇首语:本文由编程笔记#小编为大家整理,主要介绍了Linux常用命令手册相关的知识,希望对你有一定的参考价值。Linux系统的组成

篇首语:本文由编程笔记#小编为大家整理,主要介绍了Linux常用命令手册相关的知识,希望对你有一定的参考价值。



Linux系统的组成
  • linux内核(linux 团队管理)
  • shell:用户与内核交互的接口
  • 文件系统:ext3、ext4等。windows 有 fat32 、ntfs
  • 第三方应用软件

Shell基本知识

Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口(命令解释器)


Shell可以执行:


  • 内部命令
  • 应用程序
  • shell 脚本


使用type命令可以区分内部命令外部命令

于是乎,我们利用 Shell 就可以干下面这些事了:


  • 命令行解释
  • 命令的多种执行顺序
  • 通配符( wild-card characters )
  • 命令补全、别名机制、命令历史
  • I/O重定向( Input/output redirection )
  • 管道( pipes )
  • 命令替换( 或$( ) )
  • Shell编程语言( Shell Script )

Shell的主要版本有以下这么多:


  • 我们常用(默认)的就是bash(bourne again shell)
  • zsh

使用 ps 命令观察正在执行的shell:


Linux目录结构
  • bin 存放二进制可执行文件(ls,cat,mkdir等)
  • boot 存放用于系统引导时使用的各种文件
  • dev 用于存放设备文件
  • etc 存放系统配置文件
  • home 存放所有用户文件的根目录
  • lib 存放跟文件系统中的程序运行所需要的共享库及内核模块
  • mnt 系统管理员安装临时文件系统的安装点
  • opt 额外安装的可选应用程序包所放置的位置
  • proc 虚拟文件系统,存放当前内存的映射
  • root 超级用户目录
  • sbin 存放二进制可执行文件,只有root才能访问
  • tmp 用于存放各种临时文件
  • usr 用于存放系统应用程序,比较重要的目录 /usr/local 本地管理员软件安装目录
  • var 用于存放运行时需要改变数据的文件

Linux 命令英文全称


文件的类型
  • 普通文件 -
  • 目录 d
  • 字符设备文件 c
  • 块设备文件 b
  • 套接字 s
  • 命名管道 p
  • 符号链接 l
    • 硬链接: 与普通文件没什么不同,inode 都指向同一个文件在硬盘中的区块
    • 软链接: 保存了其代表的文件的绝对路径,是另外一种文件,在硬盘上有独立的区块,访问时替换自身路径(简单地理解为 Windows 中常见的快捷方式)。

      结果的最左边一列,是文件的 inode 值,你可以简单把它想成 C 语言中的指针。它指向了物理硬盘的一个区块,事实上文件系统会维护一个引用计数,只要有文件指向这个区块,它就不会从硬盘上消失。


ln [参数] [源文件或目录] [目标文件或目录]
硬链接 ln myfile hardfile
软链接 ln -s myfile softfile


源文件被删除后,硬链接无影响,软链接失效。
目录只能创建软链接,目录创建链接必须用绝对路径。可对不存在的文件或目录创建软链接;

Linux文件分为两部分:


  • 用户数据 (user data) :文件数据块 (data block),记录文件真实内容。
  • 元数据 (metadata):附加信息:文件大小、创建时间、所有者、inode号(索引节点号,是文件的唯一标示)。
    通过文件名打开文件:

Linux下如何进行进程调度

进程调度器:合理分配 CPU 时间给运行的进程,创造一种所有进程并行运行的错觉。

在Linux内核中,调度器可以分成两个层级:


  • 通用调度器(核心调度器):在进程中被直接调用,他们作为一个组件和进程其他部分分开,而通用调度器和进程并没有直接关系,其通过第二层的具体的调度器类。
  • 具体的调度器类:直接管理进程


每个进程必然属于一个特定的调度器类,Linux会根据不同的需求实现不同的调度器类。各个调度器类之间具备一定的层次关系,即在通用调度器选择进程的时候,会从最高优先级的调度器类开始选择,如果通用调度器类没有可运行的进程,就选择下一个调度器类的可用进程,这样逐层递减。

每个CPU维护一个就绪队列,由结构 struct rq 表示,通用调度器直接和 rq 交互,在 rq 中又维护了子就绪队列,这些子就绪队列和具体的调度器类相关,进程入队出队都需要根据调度器类的具体算法。


命令基本格式

cmd [options] [arguments],options 称为选项,arguments 称为参数


在Linux中,可执行的文件 也进行了分类:


  • 内置命令:出于效率的考虑,将一些常用命令的解释程序构造在Shell 内部。
  • 外置命令:存放在/bin、/sbin 目录下的命令
  • 实用程序:存放在 /usr/bin、/usr/sbin、/usr/share、/usr/local/bin 等目录下的实用程序
  • 用户程序:用户程序经过编译生成可执行文件后,可作为 Shell 命令运行
  • shell 脚本:由Shell语言编写的批处理文件,可作为Shell命令运行

通配符:


  • *:匹配任何字符和任何数目的字符

  • ?:匹配单一数目的任何字符

  • [ ]:匹配[ ]之内的任意一个字符

  • [! ]:匹配除了[! ]之外的任意一个字符,!表示非的意思


常用命令

指令大全


基本操作


ls [选项] [目录名 | 列出相关目录下的所有目录和文件

-l 使用详细格式列表。
-a 列出包括.a开头的隐藏文件的所有文件
-t 用文件和目录的更改时间排序。
-c 根据ctime排序显示
-r 或 --reverse 反向排序。
-R 或 --recursive 递归处理,将指定目录下的所有文件及子目录一并处理。


rm [选项] 文件 | 删除文件

-r 删除文件夹
-f 删除不提示
-i 删除提示
-v 详细显示进行步骤


touch [选项] 文件 | 创建空文件或更新文件时间

-a 只修改存取时间
-m 只修改变动时间
-r eg: touch -r a b ,使b的时间和a相同
-t 指定特定的时间 eg: touch -t 201211142234.50 log.log
-t time [[CC]YY]MMDDhhmm[.SS], C:年前两位


echo:显示内容

-n 输出后不换行
-e 遇到转义字符特殊处理

eg:
echo "he\\nhe" 显示he\\nhe
echo -e "he\\nhe" 显示he(换行了)he


more | 按页查看文章内容,从前向后读取文件,因此在启动时就加载整个文件

+n 从第 n 行开始显示
-n 每次查看 n 行数据
+/String 搜寻 String 字符串位置,从其前两行开始查看
-c 清屏再显示
-p 换页时清屏


less | 可前后移动地逐屏查看文章内容,在查看前不会加载整个文件

-m 显示类似于more命令的百分比
-N 显示行号
/ 字符串:向下搜索“字符串”的功能
? 字符串:向上搜索“字符串”的功能
n 重复前一个搜索(与 / 或 ? 有关)
N 反向重复前一个搜索(与 / 或 ? 有关)
b 向后翻一页
d 向后翻半页


sed 对数据行进行替换、删除、新增、选取等操作

a 新增,在新的下一行出现
c 取代,取代 n1,n2 之间的行 eg: sed ‘1,2c Hi’ ab
d 删除
i 插入,在新的上一行出现

查看文件中间一段

sed -n '100,200p' filename

sed命令截取tomcat某段时间内的catalina.out日志

sed -n '/2014-06-04 14:00:/,/2014-06-04 15:00:/p' catalina.out > ~/catalina.out.20140604-14
sed -n '/2016-11-02 15:00:/,/2016-11-02 15:05:/p' catalina.out > /tmp/123/error.txt
sed -n '/2018-01-01 00:00:/,/2018-01-30 00:00:/p' catalina.out > ./2018.1.error.log.txt

grep ‘正则表达式’ 文件名 | 用正则表达式搜索文本,并把匹配的行打印出来

-c 只输出匹配行的计数。
-I 不区分大小写(只适用于单字符)。
-l 只显示文件名
-v 显示不包含匹配文本的所有行。
-n 显示匹配行数据及其行号
-r 递归模式, 可同时处理所有层级子目录里的文件.

(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

打印文本中除掉“1”开头的行和空行的信息

egrep -v "^1|^$" file.txt

egrep 为 grep 的扩充版本


  • grep 之下不支持 ? 与 + 这两种 modifier, 但 egrep 则可.
  • grep 不支持 a|b 或 (abc|xyz) 这类"或一"比对, 但 egrep 则可.
  • grep 在处理 n,m 时, 需用 与 处理, 但 egrep 则不需.
    诸如此类的… 我个人会建议能用 egrep 就不用 grep

wc 统计指定文件中的字节数、字数、行数, 并将统计结果显示输出

-l filename 报告行数
-c filename 报告字节数
-m filename 报告字符数
-w filename 报告单词数

查看文件总行数

wc -l catalina.out

152159209 catalina.out


find | 查找文件

在全盘中找属于用户 xf 的所有扩展名为 html 的文件

find / -name *.html -a -user xf

在根目录下查找文件httpd.conf,表示在整个硬盘查找

find / -name httpd.conf

查找目录

find /(查找范围) -iname '查找关键字' -type d

which 可执行文件名称 | 查看可执行文件的位置,在PATH变量指定的路径中查看系统命令是否存在及其位置


whereis [-bmsu] [BMS 目录名 -f ] 文件名 | 定位可执行文件、源代码文件、帮助文件在文件系统中的位置

-b 定位可执行文件。
-m 定位帮助文件。
-s 定位源代码文件。
-u 搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件。
-B 指定搜索可执行文件的路径。
-M 指定搜索帮助文件的路径。
-S 指定搜索源代码文件的路径。


diff [参数] [文件1或目录1] [文件2或目录2] | 比较单个文件或者目录内容

-b  不检查空格字符的不同。
-B  不检查空白行。
-i 不检查大小写
-q 仅显示差异而不显示详细信息
eg: diff a b > parch.log 比较两个文件的不同并产生补丁


&

将某个进程设为后台运行

#后台运行jupyter notebook

nohup jupyter notebook >notebook.log &
nohup jupyter notebook > notebook.log 2>&1 &

(2>&1表示错误信息也重定向到1,即标准输出)


管道命令 |:前一个命令的输出是后一个命令的输入

ls -l /dev |more
列出dev目录下的详细信息,又要分页


重定向

是指修改原来默认的一些东西,对原来系统命令的默认执行方式进行改进

> 输出重定向到一个文件或设备 覆盖原来的文件
>! ................................................强制覆盖原来的文件
>> ...........................................追加.....................
<输入重定向到一个程序

rpm -ivh | 安装软件

-i&#xff1a;显示套件的相关信息&#xff1b;
-v&#xff1a;显示指令执行过程&#xff1b;
-h 或 --hash&#xff1a;套件安装时列出标记&#xff1b;

rpm -qa

查看现在已经安装了那些软件包


vi 编辑文件

:w filename 将文章以指定的文件名保存起来
:wq 保存并退出
:q! 不保存而强制退出

命令行模式功能键
1&#xff09;插入模式
「i」切换进入插入模式「insert mode」&#xff0c;按"i"进入插入模式后是从光标当前位置开始输入文件&#xff1b;
「a」进入插入模式后&#xff0c;是从目前光标所在位置的下一个位置开始输入文字&#xff1b;
「o」进入插入模式后&#xff0c;是插入新的一行&#xff0c;从行首开始输入文字。

2&#xff09;从插入模式切换为命令行模式
「ESC」键。

3&#xff09;移动光标
  vi可以直接用键盘上的光标来上下左右移动&#xff0c;但正规的vi是用小写英文字母「h」、「j」、「k」、「l」&#xff0c;分别控制光标左、下、上、右移一格。
  按「ctrl」&#43;「b」&#xff1a;屏幕往"后"移动一页。
  按「ctrl」&#43;「f」&#xff1a;屏幕往"前"移动一页。
  按「ctrl」&#43;「u」&#xff1a;屏幕往"后"移动半页。
  按「ctrl」&#43;「d」&#xff1a;屏幕往"前"移动半页。
  按数字「0」&#xff1a;移到文章的开头。
  按「G」&#xff1a;移动到文章的最后。
  按「$」&#xff1a;移动到光标所在行的"行尾"。
  按「^」&#xff1a;移动到光标所在行的"行首"
  按「w」&#xff1a;光标跳到下个字的开头
  按「e」&#xff1a;光标跳到下个字的字尾
  按「b」&#xff1a;光标回到上个字的开头
  按「#l」&#xff1a;光标移到该行的第#个位置&#xff0c;如&#xff1a;5l,56l。

4&#xff09;删除文字
  「x」&#xff1a;每按一次&#xff0c;删除光标所在位置的"后面"一个字符。
  「#x」&#xff1a;例如&#xff0c;「6x」表示删除光标所在位置的"后面"6个字符。
  「X」&#xff1a;大写的X&#xff0c;每按一次&#xff0c;删除光标所在位置的"前面"一个字符。
  「#X」&#xff1a;例如&#xff0c;「20X」表示删除光标所在位置的"前面"20个字符。
  「dd」&#xff1a;删除光标所在行。
  「#dd」&#xff1a;从光标所在行开始删除#行

5&#xff09;复制
  「yw」&#xff1a;将光标所在之处到字尾的字符复制到缓冲区中。
  「#yw」&#xff1a;复制#个字到缓冲区
  「yy」&#xff1a;复制光标所在行到缓冲区。
  「#yy」&#xff1a;例如&#xff0c;「6yy」表示拷贝从光标所在的该行"往下数"6行文字。
  「p」&#xff1a;将缓冲区内的字符贴到光标所在位置。注意&#xff1a;所有与"y"有关的复制命令都必须与"p"配合才能完成复制与粘贴功能。

6&#xff09;替换
  「r」&#xff1a;替换光标所在处的字符。
  「R」&#xff1a;替换光标所到之处的字符&#xff0c;直到按下「ESC」键为止。

7&#xff09;回复上一次操作
  「u」&#xff1a;如果您误执行一个命令&#xff0c;可以马上按下「u」&#xff0c;回到上一个操作。按多次"u"可以执行多次回复。

8&#xff09;更改
  「cw」&#xff1a;更改光标所在处的字到字尾处
  「c#w」&#xff1a;例如&#xff0c;「c3w」表示更改3个字

9&#xff09;跳至指定的行
  「ctrl」&#43;「g」列出光标所在行的行号。
  「#G」&#xff1a;例如&#xff0c;「15G」&#xff0c;表示移动光标至文章的第15行行首。


系统相关


chmod

给 file 的属主分配读、写、执行权限&#xff08;4&#43;2&#43;1&#xff09;&#xff0c;所在组分配读、执行权限&#xff08;4&#43;1&#xff09;&#xff0c;其他用户分配执行权限

chmod 751 file

lsattr命令是显示chattr命令设置的文件属性

lsattr /etc/profile

chattr 命令移除文件属性

sudo chattr -e /etc/profile

然后就可以修改文件权限了

sudo chmod 777 /etc/profile

chgrp [选项] group filename

改变文件或目录所属组
group可以是用户组的id&#xff0c;也可以是 /etc/group 中用户组的组名


chrown [选项] 用户或组 文件

更改某个文件或目录的属主和属组


shutdown -h now

立即关机


users 显示当前登录系统的用户


who 登录在本机的用户与来源

-H 或 --heading  显示各栏位的标题信息列


set 显示环境变量和普通变量


env 显示环境变量

查看环境变量路径

echo $PATH

vi /etc/profile
vi /root/.bashrc

“/etc/profile”对系统里所有用户都有效&#xff0c;用户主目录下的“.bash_profile”只对这个用户有效。

source ~/.bashrc

export 把普通变量变成环境变量


df [选项] [文件] | 显示指定磁盘文件的可用空间,如果没有文件名被指定&#xff0c;则所有当前被挂载的文件系统的可用空间将被显示

-a 显示全部文件系统
-h 文件大小友好显示
-l 只显示本地文件系统
-i 显示inode信息
-T 显示文件系统类型

df -h

查看硬盘和分区


du [选项] [文件] | 显示每个文件和目录的磁盘使用空间

-h 方便阅读的方式
-s 只显示总和的大小

看全部占用的空间

du -sh

看这个目录的大小

du /etc -sh

free [参数] | 显示linux系统中空闲的、已用的物理内存及swap内存,及被内核使用的buffer

如何查看内存使用情况

free -m 以Mb为单位显示


top [参数] | 显示当前系统正在执行的进程的相关信息&#xff0c;包括进程ID、内存占用率、CPU占用率等

查看各进程使用内存情况



PID&#xff1a;进程的ID
USER&#xff1a;进程所有者
PR&#xff1a;进程的优先级别&#xff0c;越小越优先被执行
NInice&#xff1a;值
VIRT&#xff1a;进程占用的虚拟内存
RES&#xff1a;进程占用的物理内存
SHR&#xff1a;进程使用的共享内存
S&#xff1a;进程的状态。S表示休眠&#xff0c;R表示正在运行&#xff0c;Z表示僵死状态&#xff0c;N表示该进程优先值为负数
%CPU&#xff1a;进程占用CPU的使用率
%MEM&#xff1a;进程使用的物理内存和总内存的百分比
TIME&#43;&#xff1a;该进程启动后占用的总的CPU时间&#xff0c;即占用CPU使用时间的累加值
COMMAND&#xff1a;进程启动命令名称



ps | 列出当前进程的快照

a 显示所有的进程
-a 显示同一终端下的所有程序
e 显示环境变量
f 显示进程间的关系
-H 显示树状结构
r 显示当前终端的程序
T 显示当前终端的所有程序
-au 显示更详细的信息
-aux 显示所有包含其他使用者的行程
-u 指定用户的所有进程

linux查询Java进程
ps -ef | grep java


Linux 的进程挂起和恢复

#ctrl&#43;z:挂起&#xff0c;程序放到后台&#xff0c;程序没有结束。
#jobs:查看被挂起的程序工作号
恢复进程执行时&#xff0c;有两种选择&#xff1a;


  • fg命令将挂起的作业放回到前台执行&#xff1b;
  • 用bg命令将挂起的作业放到后台执行
  • 格式&#xff1a;fg %工作号&#xff1b;bg %工作号

watch [参数] [命令] |重复执行某一命令以观察变化

-n 时隔多少秒刷新
-d 高亮显示动态变化


netstat | 显示与IP、TCP、UDP和ICMP协议相关的统计数据

端口占用查看

netstat -tunpl | grep 6379

iptables

dport--------目的端口 destination
sport--------来源端口 source
input 进入规则&#xff1a;dport指本地&#xff0c;sport指外部。
output 出去规则&#xff1a;dport指外部&#xff0c;sport指本地。

iptables -A INPUT -p tcp --dport 80 -j ACCEPT

  1. 这是一条从外部进入内部本地服务器的数据
  2. 数据包的目的地址是80&#xff0c;就是要访问本地的80端口
  3. 允许以上的数据行为通过

uname -a

显示电脑以及操作系统的相关信息


cat /proc/version

说明正在运行的内核版本


cat /etc/issue

显示的是发行版本信息
lsb_release -a (适用于所有的linux&#xff0c;包括Redhat、SuSE、Debian等发行版&#xff0c;但是在debian下要安装lsb)


more /proc/cpuinfo

查看CPU信息


getconf LONG_BIT

查看CPU位数
ls 如果在root下ls有lib64 文件夹说明系统64


more /proc/meminfo

查看内存信息


ifconfig | 查看ip

在ifcfg-eth0 文件里你可以看到mac&#xff0c;网关等信息

cat /etc/sysconfig/network-scripts/ifcfg-eth0 | grep IPADDR

查看网关

cat /etc/sysconfig/network

创建用户

#这样的命令会在home目录下添加一个帐号

sudo adduser xxx

#若想给新用户添加root权限

chmod &#43;w /etc/sudoers

修改文件如下&#xff1a;

sudo vi /etc/sudoers

# User privilege specification
root ALL&#61;(ALL) ALL
xxx ALL&#61;(ALL) ALL

#切换用户

su xxx

#切换到root用户

sudo su
sudo -i

#删除某个用户

userdel -r xxx

#查看文件夹权限

ls -ld /home/zzz

#改变权限&#xff0c;只有自己又读写执行权限&#xff0c;同组用户和其他用户无任何权限

sudo chmod -R 0700 /home/zzz

执行 .class 文件

.class 文件需要有main函数&#xff0c;如果文件中有 package XXX; 需要cd 到package的起始路径
如果文件 import 了其他jar包&#xff0c;需要通过 -classpath 参数指定路径
windows下&#xff1a;

java -classpath .;../lib/* cn.edu.ncut.dc.webservice.WebServiceTest

linux下&#xff1a;

java -classpath .:../lib/* cn.edu.ncut.dc.webservice.WebServiceTest

区别是window下分隔符是; linux下是:


禁止Ubantu自动更新内核

&#xff11;修改配置文件
修改配置文件/etc/apt/apt.conf.d/10periodic 然后0是关闭,将所有值改为0

vim etc/apt/apt.conf.d/10periodic

APT::Periodic::Update-Package-Lists “0”;
APT::Periodic::Download-Upgradeable-Packages “0”;
APT::Periodic::AutocleanInterval “0”;


更改Ubantu启动内核

查看现有内核

dpkg --get-selections |grep linux-image

查看当前内核

uname -a

用编辑器打开 grub 配置文件

sudo vim /etc/default/grub

找到

GRUB_DEFAULT&#61;0

修改为&#xff1a;

GRUB_DEFAULT&#61;"Advanced options for Ubuntu>Ubuntu, with Linux 3.16.0-43-generic"

保存退出&#xff0c;然后执行以下命令更新 Grub 引导

sudo update-grub

更新完成后重启系统

sudo reboot

参考&#xff1a;
【1】看完这篇Linux基本操作就会了
【2】97条Linux运维工程师常用命令


推荐阅读
  • 本文介绍了操作系统的定义和功能,包括操作系统的本质、用户界面以及系统调用的分类。同时还介绍了进程和线程的区别,包括进程和线程的定义和作用。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 解决Cydia数据库错误:could not open file /var/lib/dpkg/status 的方法
    本文介绍了解决iOS系统中Cydia数据库错误的方法。通过使用苹果电脑上的Impactor工具和NewTerm软件,以及ifunbox工具和终端命令,可以解决该问题。具体步骤包括下载所需工具、连接手机到电脑、安装NewTerm、下载ifunbox并注册Dropbox账号、下载并解压lib.zip文件、将lib文件夹拖入Books文件夹中,并将lib文件夹拷贝到/var/目录下。以上方法适用于已经越狱且出现Cydia数据库错误的iPhone手机。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • MySQL5.6.40在CentOS764下安装过程 ... [详细]
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • MySQL数据库锁机制及其应用(数据库锁的概念)
    本文介绍了MySQL数据库锁机制及其应用。数据库锁是计算机协调多个进程或线程并发访问某一资源的机制,在数据库中,数据是一种供许多用户共享的资源,如何保证数据并发访问的一致性和有效性是数据库必须解决的问题。MySQL的锁机制相对简单,不同的存储引擎支持不同的锁机制,主要包括表级锁、行级锁和页面锁。本文详细介绍了MySQL表级锁的锁模式和特点,以及行级锁和页面锁的特点和应用场景。同时还讨论了锁冲突对数据库并发访问性能的影响。 ... [详细]
  • 深入解析Linux下的I/O多路转接epoll技术
    本文深入解析了Linux下的I/O多路转接epoll技术,介绍了select和poll函数的问题,以及epoll函数的设计和优点。同时讲解了epoll函数的使用方法,包括epoll_create和epoll_ctl两个系统调用。 ... [详细]
  • homemyUserscript.sh>>homemyUserlog.txt2>&1在script.sh ... [详细]
  • 我创建了一个SSH密钥,当我以admin身份在GitBash中运行ssh-Tgit@gitlab.com时,我得到W ... [详细]
  • 1、DashAPI文档Dash是一个API文档浏览器,使用户可以使用离线功能即时搜索无数API。程序员使用Dash可访问iOS,MacOS, ... [详细]
  • (1)使用vi工具vitest.sh(2)利用如下命令查看文件格式:setff或:setfileformat可以看到如下信息 ... [详细]
  • Docker安装Rabbitmq(配合宝塔)
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Docker安装Rabbitmq(配合宝塔)相关的知识,希望对你有一定的参考价值。一、事前准备 ... [详细]
author-avatar
裸身耍丶暧昧800
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有